package DAO;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import DBConection.ConexionBD;
import Modelo.*;

public class LugarDao {

	private Connection conn;

	public LugarDao() {
		conn = ConexionBD.getConnection();
	}

	public void addLugar(Lugar objlugar) {

		try {

			String sql = "INSERT INTO "+ConexionBD.getNombre_BD()+".TBL_Lugares(Lugar,Municipio,Departamento)"
					+ " VALUES (?, ?, ?)";
			PreparedStatement ps = conn.prepareStatement(sql);

			ps.setString(1, objlugar.getLugar());
			ps.setString(2, objlugar.getMunicipio());
			ps.setString(3, objlugar.getDepartamento());
			
			ps.executeUpdate();

		} catch (SQLException e) {
			e.printStackTrace();
		}
	}	
		public void removeLugar(int lugarId) {
			try {
				String sql = "DELETE FROM "+ConexionBD.getNombre_BD()+".TBL_Lugares WHERE lugarId=?";
				PreparedStatement ps = conn.prepareStatement(sql);
				ps.setInt(1, lugarId);
				ps.executeUpdate();

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		public void editLugar(Lugar objlugar) {
			try {
				String sql = "UPDATE "+ConexionBD.getNombre_BD()+".TBL_Lugares SET Lugar=?,Municipio=?,Departamento=? "
						+ " WHERE lugarId=?";
				PreparedStatement ps = conn.prepareStatement(sql);

				ps.setString(1, objlugar.getLugar());
				ps.setString(2, objlugar.getMunicipio());
				ps.setString(3, objlugar.getDepartamento());
				ps.setInt(4, objlugar.getLugarId());
				ps.executeUpdate();

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		public List<Lugar> getAllLugares() {
			List<Lugar> Lugares = new ArrayList<Lugar>();
			try {
				String sql = "SELECT * FROM "+ConexionBD.getNombre_BD()+".TBL_Lugares";
				PreparedStatement ps = conn.prepareStatement(sql);
				ResultSet rs = ps.executeQuery();
				while (rs.next()) {
					Lugar objLugar = new Lugar();
					objLugar.setLugarId(rs.getInt("lugarId"));
					objLugar.setLugar(rs.getString("Lugar"));
					objLugar.setMunicipio(rs.getString("Municipio"));
					objLugar.setDepartamento(rs.getString("Departamento"));
					
					Lugares.add(objLugar);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}

			return Lugares;
		}

		public Lugar getLugarById(int lugarId) {
			Lugar objLugar = new Lugar();
			try {
				String sql = "SELECT * FROM "+ConexionBD.getNombre_BD()+".TBL_Lugares WHERE lugarId=?";
				PreparedStatement ps = conn.prepareStatement(sql);
				ps.setInt(1, lugarId);
				ResultSet rs = ps.executeQuery();

				if (rs.next()) {
					objLugar.setLugarId(rs.getInt("lugarId"));
					objLugar.setLugar(rs.getString("Lugar"));
					objLugar.setMunicipio(rs.getString("Municipio"));
					objLugar.setDepartamento(rs.getString("Departamento"));
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			return objLugar;
		}	
		
	

}

